//package com.yunxin.customui.util;
//
//import cn.hutool.core.util.ObjectUtil;
//import com.yunxin.customui.bean.condition.select.CascadeBean;
//import com.yunxin.customui.bean.condition.select.NotCascade;
//import com.yunxin.customui.bean.condition.select.SelectBean;
//import com.yunxin.customui.bean.table.CustomFormValueBean;
//
//import java.util.Comparator;
//import java.util.LinkedList;
//import java.util.List;
//import java.util.function.BiFunction;
//import java.util.stream.Collectors;
//
//public class ConditionUtil {
//
//
//
//    /**
//     * 把List<SelectBean>转换成vue的NotCascaderBean
//     * @param selectBeans
//     * @return
//     */
//    public static NotCascade adapterNotCascade(List<SelectBean> selectBeans){
//       NotCascade notCascadeBean = new NotCascade();
//        for (SelectBean selectBean : selectBeans) {
//            notCascadeBean.addValues(selectBean.getText(),selectBean.getOriginId());
//        }
//
//        return notCascadeBean;
//    }
//
//    /**
//     * 把List<SelectBean>转换成vue的CascaderBean
//     * @param getSelectBeans
//     * @return
//     */
//    public static CascadeBean adapterSelect(List<SelectBean> getSelectBeans){
//        // 获取最大层级，遍历
//        int maxLevel = getSelectBeans.stream().max(Comparator.comparing(SelectBean::getSelectLevel)).get().getSelectLevel();
//
//        CascadeBean cascadeBean = new CascadeBean();
//        cascadeBean = loopSelect(cascadeBean,getSelectBeans,"0");
//        cascadeBean.setDefaultValue("default");
//        //
//        return cascadeBean;
//    }
//
//    /**
//     * 递归遍历List<SelectBean>
//     * @param cascadeBean1
//     * @param first
//     * @param id
//     * @return
//     */
//    private static CascadeBean loopSelect(CascadeBean cascadeBean1, List<SelectBean> first, String id){
//        List<SelectBean> second = first.stream().filter(selectBean2 -> ObjectUtil.equals(selectBean2.getSelectParentId(),id)).collect(Collectors.toList());
//        if(second.size()>0){
//            // 如果有内容就
//            LinkedList<CascadeBean> children2 = new LinkedList<>();
//            for (SelectBean selectBean2 : second) {
//                CascadeBean cascadeBean2 = new CascadeBean();
//                cascadeBean2.setLabel(selectBean2.getText());
//                cascadeBean2.setDefaultValue(selectBean2.getOriginId());
//                cascadeBean2 = loopSelect(cascadeBean2, first,selectBean2.getId());
//                children2.add(cascadeBean2);
//            }
//            cascadeBean1.setChildren(children2);
//        }else {
//            return cascadeBean1;
//        }
//        return cascadeBean1;
//    }
//}
